From: Daniel Colascione Date: Wed, 27 Apr 2011 04:19:15 +0000 (-0700) Subject: * cmdproxy.c (try_dequote_cmdline): Notice variable substitutions in X-Git-Tag: archive/raspbian/1%29.2+1-2+rpi1~1^2~324^2~4022 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:///%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:/?a=commitdiff_plain;h=ab03f23e074bbc75e11ebb831cfb7b44e1a02fbf;p=emacs.git * cmdproxy.c (try_dequote_cmdline): Notice variable substitutions in quoted strings and bail out. --- diff --git a/nt/ChangeLog b/nt/ChangeLog index 57816b3511a..05fccf1c713 100644 --- a/nt/ChangeLog +++ b/nt/ChangeLog @@ -1,3 +1,8 @@ +2011-04-27 Daniel Colascione + + * cmdproxy.c (try_dequote_cmdline): Notice variable substitutions + inside quotation marks and bail out. + 2011-04-26 Daniel Colascione * cmdproxy.c (try_dequote_cmdline): New function. diff --git a/nt/cmdproxy.c b/nt/cmdproxy.c index fe128fd17c4..8c39694decc 100644 --- a/nt/cmdproxy.c +++ b/nt/cmdproxy.c @@ -362,10 +362,20 @@ try_dequote_cmdline (char* cmdline) state = NORMAL; break; case INSIDE_QUOTE: - *new_pos++ = c; - if (c == '"') - state = NORMAL; - + switch (c) + { + case '"': + *new_pos++ = c; + state = NORMAL; + break; + case '%': + case '!': + /* Variable substitution inside quote. Bail out. */ + return 0; + default: + *new_pos++ = c; + break; + } break; } }